CONFIG
Section: Protocol Families (4F)
Updated: March 31, 1994
Index
Return to Main Contents
NAME
config -
FlexFAX
per-modem server configuration database
DESCRIPTION
FlexFAX
uses a configuration file for each facsimile modem attached
to a machine.
This file contains information about the modem and about how
the facsimile server that services that modem should operate.
Configuration files are located in the
etc
subdirectory and have names of the form
config.devid,
where
devid
is an identifier derived from the name of
the modem's device file; for example
ttym2
for
/dev/ttym2,
term_10
for
/dev/term/10.
Configuration files have a simple format and are entirely
ASCII.
A configuration parameter is of the form
tag: value
where a tag identifies a parameter and a value
is either a string, number, or boolean value.
Comments are introduced by the ``#'' character
and extend to the end of the line.
String values start at the first non-blank character
after the ``:'' and continue to the first non-whitespace
character or, if whitespace is to be included, may be
enclosed in quote marks (``"'').
String values enclosed in quote marks may also use the
standard C programming conventions for specifying escape
codes; e.g. ``\n'' for a newline character and ``\xxx''
for an octal value.
Numeric values are specified according to the C programming
conventions (leading ``0x'' for hex, leading ``0'' for octal, otherwise
decimal), except for the values of
RecvFileMode,
LogFileMode,
and
DeviceMode
which are interpreted strictly as octal numbers.
Boolean values are case insensitive.
For a true value, either ``Yes'' or ``On'' should
be used.
For a false value, use ``No'' or ``Off''.
The following table itemizes the tags and the expected type
of their value.
The first part lists items specific to the operation of the
server, while the second part has items specific to the
servicing of the modem.
More detailed information about each item is given below.
Tag Type Default Description
AdaptiveAnswer boolean No enable adaptive answer of inbound calls
AnswerRotary string any alternatives for answering calls
AnswerBias integer - bias to apply to successful rotary answer
AreaCode string - local area code
CountryCode string - local country code
DeviceMode octal 0600 protection mode to use for modem device
DialStringRules string - dial string rules file
FAXNumber string - facsimile modem phone number
GettyArgs string - arguments passed to getty program
InternationalPrefix string - dialing prefix for international calls
JobReqBusy integer 300 requeue interval for BUSY dial result
JobReqNoAnswer integer 900 requeue interval for NO ANSWER dial result
JobReqNoCarrier integer 900 requeue interval for NO CARRIER dial result
JobReqOther integer 900 requeue interval for ``other'' problems
JobReqProto integer 60 requeue interval after fax protocol error
LogFileMode octal 0600 protection mode to use session log files
LongDistancePrefix string - dialing prefix for long distance calls
NoCarrierRetrys integer 1 number of times to retry dialing on ``NO CARRIER''
PollLockWait integer 30 polling interval when in ``lock wait'' state (secs)
PollModemWait integer 30 polling interval when in ``modem wait'' state (secs)
QualifyTSI string - file of TSI patterns for qualifying senders
RecvFileMode octal 0600 protection mode to use for received facsimile files
RingsBeforeAnswer integer 0 rings to wait before answering phone
ServerTracing integer 0 non-session server tracing
SessionTracing integer 0 send and receive session tracing
SpeakerVolume string Quiet volume level for modem speaker
UUCPLockTimeout integer 4320 time before removing existing UUCP lock file
ModemAnswerCmd string A command for answering phone
ModemAnswerDataBeginCmd string - command for start of answered data call
ModemAnswerDataCmd string A command for answering data call
ModemAnswerFaxBeginCmd string - command for start of answered fax call
ModemAnswerFaxCmd string A command for answering fax call
ModemAnswerResponseTimeout integer 180000 answer command timeout (ms)
ModemAnswerVoiceBeginCmd string - command for start of answered voice call
ModemAnswerVoiceCmd string A command for answering voice call
ModemBaudRateDelay integer 0 delay (ms) after setting baud rate
ModemCommaPauseTimeCmd string S8=2 command for setting time to pause for ``,'' in dialing string
ModemDialCmd string DT%s command for dialing (%s for number to dial)
ModemDialResponseTimeout integer 180000 dialing command timeout (ms)
ModemEchoOffCmd string E0 command for disabling command echo
ModemFlowControl string XONXOFF DTE-DCE flow control scheme
ModemFlowControlCmd string - command for setting DTE-DCE flow control
ModemFrameFillOrder string LSB2MSB bit order for HDLC frames
ModemHostFillOrder string MSB2LSB bit order of host
ModemInterPacketDelay integer 0 delay between modem writes (ms)
ModemMaxPacketSize integer 16384 max data sent to modem at once
ModemMfrQueryCmd string - command for querying modem manufacturer
ModemModelQueryCmd string - command for querying modem model
ModemNoAutoAnswerCmd string S0=0 command for disabling auto-answer
ModemOnHookCmd string H0 command for placing phone ``on hook''
ModemPageDoneTimeout integer 180000 page send/receive timeout (ms)
ModemPageStartTimeout integer 180000 page send/receive timeout (ms)
ModemRate integer 19200 baud rate to use for DCE-DTE communication
ModemRecvFillOrder string LSB2MSB bit order for received facsimile
ModemResetCmds string - additional commands when resetting modem
ModemResetDelay integer 2600 delay (ms) after sending modem reset commands
ModemResultCodesCmd string Q0 command for enabling result codes
ModemRevQueryCmd string - command for querying modem firmware revision
ModemSendFillOrder string LSB2MSB bit order for sending facsimile
ModemSetVolumeCmd string see below commands for setting modem speaker volume level
ModemSetupAACmd string - command for setting up adaptive answer
ModemSetupDCDCmd string - command for setting up DCD handling
ModemSetupDTRCmd string - command for setting up DTR handling
ModemSoftResetCmd string Z command for doing a soft reset
ModemType string - modem type
ModemVerboseResultsCmd string V1 command for enabling verbose result codes
ModemWaitForConnect boolean No force server to wait for ``CONNECT'' response on answer
ModemWaitTimeCmd string S7=30 command for setting time to wait for carrier when dialing
FaxT1Timer integer 35000 CCITT T.30 T1 timer (ms)
FaxT2Timer integer 7000 CCITT T.30 T2 timer (ms)
FaxT4Timer integer 3100 CCITT T.30 T4 timer (ms)
Class1Cmd string +FCLASS=1 Class 1: command to enter class 1
Class1FrameOverhead integer 4 Class 1: extra bytes in a received HDLC frame
Class1RecvAbortOK integer 100 Class 1: max wait (ms) for ``OK'' after recv abort
Class1RecvIdentTimer integer 35000 Class 1: max wait (ms) for initial ident frame
Class1TCFResponseDelay integer 75 Class 1: delay between TCF and ack/nak
Class1SendPPMDelay integer 75 Class 1: delay before sending post-page message
Class1SendTCFDelay integer 75 Class 1: delay between sending DCS and TCF
Class1TrainingRecovery integer 1500 Class 1: delay after failed training
Class2Cmd string +FCLASS=2 Class 2: command to enter class 2/2.0
Class2AbortCmd string K Class 2: command to abort active session
Class2BORCmd string BOR=0 Class 2: command to setup bit order
Class2BUGCmd string BUG=1 Class 2: command to enable HDLC frame tracing
Class2CIGCmd string CIG Class 2: command to set polling identifier
Class2CRCmd string CR=1 Class 2: command to enable receive capability
Class2CQCmd string - Class 2: command to setup copy quality parameters
Class2DCCCmd string DCC Class 2: command to set modem capabilities
Class2DCCQueryCmd string DCC=? Class 2: command to query modem capabilities
Class2DISCmd string DIS Class 2: command to set session parameters
Class2LIDCmd string LID Class 2: command to set local identifier string
Class2PHCTOCmd string PHCTO=30 Class 2: command to set Phase C timeout parameter
Class2RecvDataTrigger string - Class 2: character to send to trigger recv
Class2RELCmd string - Class 2: command to enable byte-aligned EOL codes
Class2SPLCmd string SPL Class 2: command to set polling request
Class2TBCCmd string TBC=0 Class 2: command to enable stream mode
Class2XmitWaitForXON boolean No Class 2: wait for XON before sending facsimile data
Class2Cmd string +FCLASS=2.0 Class 2.0: command to enter class 2/2.0
Class2AbortCmd string KS Class 2.0: command to abort active session
Class2BORCmd string BO=0 Class 2.0: command to setup bit order
Class2BUGCmd string BU=1 Class 2.0: command to enable HDLC frame tracing
Class2CIGCmd string PI Class 2.0: command to set polling identifier
Class2CRCmd string CR=1 Class 2.0: command to enable receive capability
Class2CQCmd string - Class 2.0: command to setup copy quality parameters
Class2DCCCmd string CC Class 2.0: command to set modem capabilities
Class2DCCQueryCmd string CC=? Class 2.0: command to query modem capabilities
Class2DISCmd string IS Class 2.0: command to set session parameters
Class2LIDCmd string LI Class 2.0: command to set local identifier string
Class2NRCmd string NR=1,1,1,1 Class 2.0: command to set status reporting
Class2PHCTOCmd string CT=30 Class 2.0: command to set Phase C timeout parameter
Class2PIECmd string IE=0 Class 2.0: command to set procedure interrupt handling
Class2RecvDataTrigger string - Class 2.0: character to send to trigger recv
Class2RELCmd string - Class 2.0: command to enable byte-aligned EOL codes
Class2SPLCmd string SP Class 2.0: command to set polling request
Class2TBCCmd string PP=0 Class 2.0: command to enable stream mode
Class2XmitWaitForXON boolean No Class 2.0: wait for XON before sending facsimile data
SERVER-ORIENTED CONFIGURATION PARAMETERS
These configuration parameters affect the general
operation of the fax server.
- AdaptiveAnswer
-
Control whether or not an adaptive answering
strategy is used whereby an incoming call is
first answered as fax using
ModemAnswerFaxCmd
and then, if that fails, as data using
ModemAnswerDataCmd.
If the adaptive answer strategy is not enabled, then calls
are answered using the appropriate
ModemAnswer*Cmd
parameter (normally
ModemAnswerCmd
for unattended operation).
Note that the adaptive answer strategy depends on many factors
that limit its usefulness.
It typically only works with a Class 1 modem because it is
important that the sequence of operations related to answering
as fax be completed in a short enough time that a subsequent
answer for data be done before the caller times out and hangs
up the telephone
(for this reason the
Class1RecvIdentTimer
should be set to a value that is shorter than
FaxT1Timer.)
Also, note that it is necessary to arrange that the phone be
placed on-hook between the two answers; this can typically be
done by inserting the appropriate command at the start of
ModemAnswerDataCmd.
- AnswerRotary
-
The sequence of answering techniques the server should
``rotate through'' when answer incoming calls.
Answering techniques are:
Name Description
fax answer a fax call
data answer a data call
voice answer a voice call
any answer a call of any/unknown type
When a call is not answered succesfully, the server
advances the rotary to the next specified answering
technique.
Successful calls do not affect the current answering technique.
For example, if
AnswerRotary
is ``fax data'',
then the calls will initially be answered as fax until
the first call is received that does not appear to be
from a fax machine; after that calls will be answered
as if they were from a data modem until the next unsuccessful
call; after which they will one again be answered as fax.
See also
AnswerBias.
- AnswerBias
-
The index into the
AnswerRotary
list that the server should rotate the list to after
each successful incoming phone call.
List indices are numbered starting at zero.
For example, if
AnswerRotary
is ``fax data'' and
AnswerBias
is 1, then after each successful inbound call, the
next call will be answered as data.
- AreaCode
-
The local area code in which the facsimile modem resides.
This value is used to formulate canonical phone numbers for dialing.
It is also used to determine if a phone call is local, in
which case any leading long distance dialing information
may be stripped off to avoid confusing the local carrier.
That is, in the 415 area code (in the United States),
dialing 1.415.555.1212 does not work--- one must dial only 555.1212.
- CountryCode
-
The local country code in which the facsimile modem resides.
As for
AreaCode,
this value is used to formulate canonical phone numbers for dialing.
- DeviceMode
-
The file protection mode that the server should set for the
modem device file.
Note that this value is given in octal.
The default value of 0600 implies that only the
facsimile user (usually
uucp)
can access the modem.
See also
chmod(2).
- DialStringRules
-
The pathname of the file that holds the rules for processing
user-specified dial strings; c.f.
dialrules(4F).
The specified pathname must be relative to the top of the fax server's
spooling area; e.g.
etc/dialrules.
- FAXNumber
-
The phone number associated with the facsimile modem.
If this phone number is not a fully qualified number,
the values of
AreaCode
and
CountryCode
are used to generate the Caller Subscriber Identification (CSI) that is transmitted to remote machines.
- InternationalPrefix
-
The string to use to place an international phone call.
In the United States, this is ``011''.
- JobReqBusy
-
The delay in seconds to wait before retrying a job whose
dialing attempt failed with a ``BUSY'' status result.
- JobReqNoAnswer
-
The delay in seconds to wait before retrying a job whose
dialing attempt failed with a ``NO ANSWER'' status result.
- JobReqNoCarrier
-
The delay in seconds to wait before retrying a job whose
dialing attempt failed with a ``NO CARRIER'' status result.
- JobReqOther
-
The delay in seconds to wait before retrying a job that
failed for a reason not already covered by one of the
Job*
parameters.
- JobReqProto
-
The delay in seconds to wait before retrying a job that
failed because of a fax protocol error.
- GettyArgs
-
A string that indicates whether or not the server should invoke
the
getty(1M)
program in response to an incoming call from a data modem.
If the string value is not null, then it is interpreted
as a set of arguments to pass to the getty program.
Before supplying the arguments, the string is first scanned
for ``%''-escape sequences: any appearance of ``%l'' is replaced
with the tty name and any appearance of ``%s'' is replaced with
the serial port speed (in decimal).
The ``%'' character can be specified with ``%%''.
If the
GettyArgs
parameter is not specified in the configuration file or if
the string value is null, then data connections will be rejected.
This facility can also be enabled on the command line to
faxd
with the
-g
option (useful if
faxd
is invoked by the
init(1M)
process.)
Note that in addition to the specified command line arguments, the
getty
program is invoked with its standard input, output, and error
descriptors directed to the controlling tty device.
- LogFileMode
-
The file protection mode that should be used when
creating files to hold session logs.
Note that this value is given in octal.
The default value of 0600 implies that the log files are not
generally accessible, which is important if sensitive information
such as calling card access codes are logged.
If log files are to be publicly accessible, this
value may be set, for example, to 0644.
See also
chmod(2).
- LongDistancePrefix
-
The string to use to place a long distance phone call.
In the United States, this is ``1''.
- NoCarrierRetrys
-
The number of times to redial a phone number after receiving
a ``NO CARRIER'' result code.
In normal operation the fax server will treat this result code
to mean that a facsimile modem/machine did not answer the
phone and reject the transmit job.
This is done to avoid repeatedly dialing wrong phone numbers
and depends on the modem automatically distinguishing between
no carrier and no answer.
However, some modems are not capable of reliably
distinguishing between no carrier and no answer, or when instructed
to do so do not identify a busy signal correctly.
For these modems one may find it necessary to increase the
value of this parameter to compensate.
It is strongly recommended, however, that this value
not be set to a large number.
- PollLockWait
-
When polling for the presence/removal of a
UUCP
lock file, the time (in seconds) to wait between checks.
Lock file polling occurs when the fax server collides with
another process using the modem for outbound use.
- PollModemWait
-
The time (in seconds) to wait between checks
for a modem to become ready for use,
Modem polling occurs when a modem fails to reset cleanly.
- QualifyTSI
-
A string that specifies whether or not the identity of
calling facsimile machines should be checked against an access
control list before receiving facsimile.
If
QualifyTSI
is non-null, then only messages from facsimile machines identified
in the file specified by the string (typically etc/tsi)
will be accepted; see
tsi(4F).
If
QualifyTSI
is not specified in the configuration file, or the value is
null, then all incoming facsimile messages will be accepted.
- RecvFileMode
-
The file protection mode that should be used when
creating files to hold incoming facsimile.
Note that this value is given in octal.
The default value of 0600 implies that only the
facsimile user can read received facsimile.
If incoming facsimile are to be publicly accessible, this
value may be set, for example, to 0644.
See also
chmod(2).
- RingsBeforeAnswer
-
The number of rings to wait before answering the phone.
If this value is set to 0, then the phone will only
be answered in response to an explicit ``answer command''; see
faxanswer(1M).
- ServerTracing
-
A number that controls the generation of tracing
information by a server when not actively sending or
receiving facsimile.
Tracing is divided into
areas
that are individually controlled.
To enable tracing of multiple areas of operation, the
flag associated with each area should be bit-or'd to
form the value for this tag.
Flag Area Description
1 (0x0001) Server Operation queue management and general operation
2 (0x0002) FAX Protocol Group 3 facsimile protocol
4 (0x0004) Modem Operations modem hardware manipulation
8 (0x0008) Modem Communications comands passed between host and modem
16 (0x0010) Timeouts timer operations
32 (0x0020) Modem Capabilities modem capabilities
64 (0x0040) HDLC Frames binary Group 3 HDLC frames
128 (0x0080) Binary Modem I/O binary communication between host and modem
256 (0x0100) State Transitions server state transitions
512 (0x0200) Queue Management job queue management
For example, to enable tracing of server operations and
protocol operations, a value of 1+2=3 should be specified.
- SessionTracing
-
A number that controls the generation of tracing information
by a server while sending or receiving facsimile.
The number is interpreted identically to
ServerTracing.
Note that session tracing is placed in log files in the
log
subdirectory; see
log(4F)
for more information.
- SpeakerVolume
-
The volume level that the in-modem speaker should be
adjusted to while in a non-data transfer mode.
The possible values are:
Value Description
Off silent
Quiet almost inaudible
Low tolerable in privacy
Medium loud enough to hear in the next room
High intolerable
Note that the speaker is always turned off once carrier is established.
- UUCPLockTimeout
-
The time in seconds to wait before removing an existing
UUCP
lock file for which the owner does not exist.
If this value is set to 0, then the fax server will never
remove an existing lock file.
MODEM-ORIENTED CONFIGURATION PARAMETERS
This section lists configuration parameters that are specific
to the setup and operation of the modem.
All
commands
are assumed to use the ``Hayes AT-style'' command syntax
and should be specified without a leading ``AT''.
When multi-line commands are required, enclose the commands with
quote marks (``"'') and insert a newline character ``\n'' where
lines should be broken.
Note however that each line of a multi-line command string is prefixed
by a leading ``AT''.
An example of a multi-line command string is
``CQ=1\n+FBADMUL=20\n+FBADLIN=10''.
Command strings sent to the modem may include command
escapes that force the host to alter the
DTE-DCE
communication rate and/or the flow control scheme used between
the host and modem.
The following escape codes are interpreted:
Escape Effect
<xon> enable software flow control between DTE and DCE
<rts> enable hardware flow control between DTE and DCE
<2400> set the DCE-DTE baud rate to 2400 bps
<4800> set the DCE-DTE baud rate to 4800 bps
<9600> set the DCE-DTE baud rate to 9600 bps
<19200> set the DCE-DTE baud rate to 19200 bps
<38400> set the DCE-DTE baud rate to 38400 bps
<57600> set the DCE-DTE baud rate to 57600 bps
<76800> set the DCE-DTE baud rate to 76800 bps
Note that commands to the left of an escape code are
sent to the modem before the associated actions are
carried out on the host.
This may be important when changing baud rates, as the result code
from a command may be returned at the new baud rate.
NB: old versions of the system supported certain configuration
parameters that have been subsumed in the modem-oriented
parameters described below.
Specifically, the
ToneDialing,
DialPrefix,
and
UseDialPrefix
parameters should be specified through the
ModemDialCmd
string; the
ModemCommaPauseTimeCmd
should be used instead of the defunct
CommaPauseTime
parameter; and the
ModemWaitTimeCmd
should be used instead of the defunct
WaitTimeForCarrier
parameter.
NB: previous versions of the system supported certain configuration
parameters that have been subsumed by the escape-code mechanism and the
ModemAnswer*Cmd
parameters:
ModemRecvRate
and
ModemFaxRecvRate
should be specified through the
ModemAnswerFaxBeginCmd
string; the
ModemDataRecvRate
should be specified through the
ModemAnswerDataBeginCmd
parameter; and the
ModemVoiceRecvRate
should be specified through the
ModemAnswerVoiceBeginCmd
parameter.
- ModemAnswerCmd
-
The command to answer the phone.
If possible, this command should generate a result string that
identifies whether the incoming call is from a facsimile or data
modem.
Typically this auto-detection is configured ahead of time; e.g.
for Class 2 modems with the ``AT+FAA=1'' command.
-
The following table describes how the result codes are interpreted by
the facsimile server.
Result String Default Class 1 Class 2 Class2.0
CONNECT FAX Fax - - --
CONNECT Data Unknown - -
NO ANSWER No Answer - - -
NO CARRIER No Carrier - - -
NO DIALTONE No Dialtone - - -
ERROR Error - - -
FAX Fax - - -
DATA Data - - -
+FCON - - Fax Fax
+FCO - - Fax Fax
+FDM - - Data Data
+FHNG: - - Error Error
VCON - - Voice Voice
The ``Default'' column indicates the interpretation made for the
result string in either class 1 or 2 unless explicitly
overridden.
The ``Class 1'' column indicates result strings handled specially
for modems operating in class 1, the
``Class 2'' column indicates special handling for modems
operating in class 2, and the ``Class 2.0'' column indicates
special handling for modems operating in class 2.0.
Unknown
entries imply that interpretation is based on the way in which the
call was answered; if answering is done for an explicit call type,
that type is assumed, otherwise a Fax call is presumed.
- ModemAnswerDataBeginCmd
-
The command, if specified, to send to the modem once a data
connection has been established.
The old
ModemDataRecvRate
parameter can be emulated by specifying a baud rate escape code;
e.g. ``<19200>''.
- ModemAnswerDataCmd
-
The command to explicitly answer the phone for a data connection.
This command must generate a result string that
identifies the incoming call is from a data modem.
- ModemAnswerFaxBeginCmd
-
The command, if specified, to send to the modem once a facsimile
connection has been established.
The old
ModemFaxRecvRate
parameter can be emulated by specifying a baud rate escape code;
e.g. ``<19200>''.
- ModemAnswerFaxCmd
-
The command to explicitly answer the phone for a facsimile connection.
This command must generate a result string that
identifies the incoming call is from a facsimile modem.
- ModemAnswerVoiceBeginCmd
-
The command, if specified, to send to the modem once a voice
connection has been established.
The old
ModemFaxVoicevRate
parameter can be emulated by specifying a baud rate escape code;
e.g. ``<19200>''.
- ModemAnswerVoiceCmd
-
The command to explicitly answer the phone for a voice connection.
This command must generate a result string that
identifies the incoming call is for voice.
- ModemAnswerResponseTimeout
-
The maximum time, in milliseconds, to wait for a response from
the modem after sending
ModemAnswerCmd.
- ModemBaudRateDelay
-
The amount of time, in milliseconds, to pause after setting the
baud rate on the serial line.
This parameter is only needed for hosts where (apparently)
setting the serial line parameters does not take effect immediately.
- ModemCommaPauseTimeCmd
-
The command to set the time,
in seconds, that the modem should pause when encountering
a ``,'' modifier in the dialing string.
- ModemDialCmd
-
The command to place a phone call.
The string is assumed to be suitable for use
as a parameter to the
sprintf(3S)
function; so the ``%'' character should be escaped as ``%%''.
The dial command must include a single ``%s'' where the number
that is to be dialed is to be substituted.
Facilities such as tone or pulse dialing, outgoing prefixes
to route though a PBX, and so on should be included in the
dialing command string.
It is also important that, if possible, a trailing ``@''
symbol should be included so that the modem
returns result codes that distinguish between no answer and no carrier.
Use of the ``@'' permits the server to reduce the probability
that a wrong number is continually redialed.
If the modem does not support this facility, then it may be
necessary to raise the number of retries done when a
``NO CARRIER'' result is returned.
- ModemDialResponseTimeout
-
The maximum time to wait, in milliseconds, for a response from
the modem after sending
ModemDialCmd.
- ModemEchoOffCmd
-
The command to disable command echo.
- ModemFlowControl
-
The type of flow control to use between DTE and DCE;
one of ``XONXOFF'' and ``RTSCTS''.
This type must agree with the
ModemFlowControlCmd
string sent to the modem.
For example, if software flow control is to be used, then
ModemFlowControl
must be set to ``xonxoff'' and the
ModemFlowControlCmd
string must setup the modem to use
XON/XOFF
flow control.
-
The server supports both software and hardware flow control
for Class 1, Class 2, and Class 2.0 modems, but only software flow control
for the Everex driver.
Whether to use hardware or software flow control depends
on the capabilities of the modem
and the host hardware and operating system.
Communication rates above 9600 baud often require that hardware
flow control be used for reliable DTE-DCE communication.
However, beware that many Class 1 modems only support software
flow control.
- ModemFlowControlCmd
-
The command to setup DTE-DCE flow control.
The type of flow control must also be reflected in the
ModemFlowControl
parameter.
- ModemFrameFillOrder
-
The bit ordering to expect for received
HDLC
frames and to use when formulating
HDLC
frames to send.
This value may be either
LSB2MSB
when bits are ordered from least-significant-bit to
most-significant-bit (as in the
CCITT
specification) or
MSB2LSB
when bits are ordered in the reverse direction.
- ModemHostFillOrder
-
The native bit order of the host CPU.
This order is
MSB2LSB
for most non-Intel processors.
- ModemInterPacketDelay
-
A delay, in milliseconds, that should be applied between large
data writes to the modem.
See also
ModemMaxPacketSize.
- ModemMaxPacketSize
-
The maximum number of bytes that should be written to the modem
at once.
This can be used together with the
ModemInterPacketDelay
parameter to keep a fast host computer from sending data too
quickly to a slow modem.
- ModemMfrQueryCmd
-
The command to send to the modem to get the manufacturer
identification string.
For Class 2 modems this parameter is initialized to ``+FMFR?''.
For Class 2.0 modems this parameter is initialized to ``+FMI?''.
If the parameter begins with a ``!'', then the remainder of the
string is taken to be the identification string and no command
is issued to the modem.
- ModemModelQueryCmd
-
The command to send to the modem to get the model identification.
For Class 2 modems this parameter is initialized to ``+FMDL?''.
For Class 2.0 modems this parameter is initialized to ``+FMM?''.
If the parameter begins with a ``!'', then the remainder of the
string is taken to be the identification string and no command
is issued to the modem.
- ModemNoAutoAnswerCmd
-
The command to stop the modem from automatically
answering when the phone rings.
- ModemOnHookCmd
-
The command to place the phone ``on hook''
(i.e. hangup).
- ModemPageDoneTimeout
-
The maximum time to wait, in milliseconds, for a response
from the modem after sending a page of facsimile data (e.g.
the time to wait for a response to a Class 2/2.0
AT+FET
command).
- ModemPageStartTimeout
-
The maximum time to wait, in milliseconds, for an initial
response from the modem when sending a page of facsimile data
(e.g. the time to wait for a response to a Class 2/2.0
AT+FDR
command).
- ModemRate
-
The baud rate to use for DCE-DTE communication.
This value may be one of: 76800, 57600, 38400, 19200, 9600, 4800,
2400, 1200.
The default value is 19200 because many modems lock the
rate at 19200 when sending or receiving facsimile.
- ModemRecvFillOrder
-
The bit ordering to expect in received facsimile data.
This value may be either
LSB2MSB
when bits are ordered from least-significant-bit to
most-significant-bit (as in the
CCITT
specification) or
MSB2LSB
when bits are ordered in the reverse direction.
- ModemResetCmds
-
A string of commands to issue to the modem during initialization.
This string is sent to the modem
before
the standard set of configuration commands required by the fax server.
Note that these commands should not include normal
reset commands that are specified through other parameters.
For example, commands to setup flow control,
DCD
handling,
DTR
handling, etc. should be specified through the appropriate
configuration parameters and not through this parameter.
In addition the soft reset command (usually ``Z'')
should not be included in this string.
- ModemResetDelay
-
The time, in milliseconds, to pause after resetting a modem
either by dropping the
DTR
signal, or through a software reset command.
This parameter should be long enough to permit the modem to
do any reset-related processing it requires.
- ModemResultCodesCmd
-
The command to enable result codes.
- ModemRevQueryCmd
-
The command to send to the modem to get a firmware revision identification
string.
For Class 2 modems this parameter is initialized to ``+FREV?''.
For Class 2.0 modems this parameter is initialized to ``+FMR?''.
If the parameter begins with a ``!'', then the remainder of the
string is taken to be the identification string and no command
is issued to the modem.
- ModemSendFillOrder
-
The bit ordering the modem expects for transmitted facsimile data.
This value may be either
LSB2MSB
or
MSB2LSB
(see also
ModemRecvFillOrder
above.)
- ModemSetVolumeCmd
-
The commands to use to set the modem speaker volume levels.
There should be five whitespace-separated commands,
one each for setting the
volume to ``Off'', ``Quiet'', ``Low'', ``Medium'', and ``High'';
the default is ``"M0 L0M1 L1M1 L2M1 L3M1"''.
- ModemSetupAACmd
-
The command to setup
adaptive answer
in the modem-if available.
Adaptive answer is the term used for the ability to
distinguish a call from a facsimile machine/modem from a call
from a data modem.
Note that this string is the last command issued by the device
drivers during setup, so the command string
may, if necessary, switch to a different
operating mode (e.g. on some Rockwell-based modems it is necessary
to issue the ``AT+FAA=1'' command in Class 0).
- ModemSetupDCDCmd
-
The command to setup
DCD
handling.
On most systems the facsimile server will enable
the CLOCAL flag on the tty device to which
the modem is connected.
This should insure that the system does not close an open
file descriptor associated with the modem if carrier is dropped.
Thus, for most systems and modems
ModemSetupDCDCmd
should setup
DCD
to reflect carrier.
- ModemSetupDTRCmd
-
The command to setup
DTR
handling so that the modem is reset when the
DTR
signal is lowered by the host.
The facsimile server uses this facility to insure that modems
are not left in a ``locked up'' state.
- ModemSoftResetCmd
-
The command to force a soft reset.
- ModemType
-
This parameter must be set to one of: ``Class2'', ``Class2.0'',
``Class1'', or ``Abaton'';
to indicate that the modem is a Class 2-style
modem, Class 2.0-style modem,
Class 1-style modem, or an Abaton InterFax 24/96 modem.
- ModemVerboseResultsCmd
-
The command to enable verbose result codes.
- ModemWaitForConnect
-
If enabled, the facsimile server will not consider a connection
established when answering an incoming call until a
``CONNECT'' status string is received.
This is useful mainly for Rockwell RC32ACL-based
modems that send ``FAX'' and ``DATA'' status
messages before sending ``CONNECT''.
- ModemWaitTimeCmd
-
The command to set the
number of seconds to wait for a carrier signal
when placing a call or answering the phone.
T.30 PROTOCOL CONFIGURATION PARAMETERS
The following parameters apply to the implementation of the
CCITT T.30
facsimile protocol.
They should not be changed without full understanding of the
operation of the server.
- FaxT1Timer
-
The value of the
T1
timer in milliseconds.
This timer is used to time out the initial session contact;
i.e. receipt of DIS/DCS.
- FaxT2Timer
-
The value of the
T2
timer in milliseconds.
This timer is used to time out receiving responses and commands.
- FaxT4Timer
-
The value of the
T4
timer in milliseconds.
This timer is used to time out the reception of HDLC frames
and, usually, trigger frame retransmissions.
CLASS 1 MODEM CONFIGURATION PARAMETERS
The following parameters are specific to the configuration
of Class 1-style modems; they should not be changed lightly:
- Class1Cmd
-
The command to set the modem into class 1 operation.
- Class1FrameOverhead
-
The number of extraneous bytes in
HDLC
frames sent to the host in response to an ``AT+FRH'' command.
For modems that properly implement the Class 1 interface, this
number should be 4 (the default).
- Class1RecvAbortOK
-
The time, in milliseconds, to wait for an ``OK'' result code
from the modem after aborting an
HDLC
frame receive (``AT+FRH=3'').
If this number is zero, then the modem is assumed to not correctly
implement aborting and instead the driver will wait 200ms,
flush any input, and then send ``AT\n'' and wait
100ms for an ``OK'' result.
- Class1RecvIdentTimer
-
The time, in milliseconds, to wait for an initial
DCS
when receiving a facsimile.
CCITT
recommendation
T.30
specifies this as the value of the
T1
timer.
However, adaptive answering schemes such as that described
above under the
AdaptiveAnswer
parameter require that this timer be shorter.
- Class1SendPPMDelay
-
The time, in milliseconds, to delay between dropping the high
speed message carrier and sending the post-page message/command.
- Class1SendTCFDelay
-
The time, in milliseconds, to delay between sending
DCS
and
TCF.
- Class1TrainingRecovery
-
The time, in milliseconds, to delay after a failed training session.
This time is used when sending training and when waiting for
DCS
and subsequent training during receive.
CLASS 2 AND 2.0 MODEM CONFIGURATION PARAMETERS
The following parameters are specific to the configuration
of Class 2- and Class 2.0-style modems:
All
commands
are assumed to use the Class 2/2.0 AT+F-style'' command syntax
and should be specified without a leading ``AT+F'' unless
explicitly noted.
Multi-line commands are handled as described above.
In particular, this means that
second and subsequent lines of a multi-line command string are prefixed
by a leading ``AT'' and not ``AT+F'';
for example, ``CQ=1\n+FBADMUL=20\n+FBADLIN=10''.
- Class2Cmd
-
The command to set the modem into Class 2/2.0 operation.
Note that this command is prefixed
only
with ``AT'' and
not
with ``AT+F''.
This is to permit non-Class 2/2.0 commands to be done before switching
classes.
- Class2AbortCmd
-
The command to use to abort an established session.
After using this command to abort a session,
the fax software will send a
ModemOnHookCmd
and then reset the modem by dropping
DTR .
- Class2BORCmd
-
The command to setup the bit order of sent and
received facsimile data.
Usually the command ``BOR=0'' is used
so that data is sent and received in
direct
bit order (LSB2MSB).
Some modems, such as the Everex 24/96D,
must use reversed bit ordering for
Phase B and D data exchanges to avoid a bug that results in
garbage data being placed in the padding of
EOL
codes.
The bit order specified by this command must correspond
to the settings of the
ModemFrameFillOrder,
ModemSendFillOrder,
and
ModemRecvFillOrder
parameters.
- Class2BUGCmd
-
The command to use to enable the tracing of HDLC frames
sent and received by the modem.
This tracing information should be returned to the host in ``+FHR:''
and ``+FHT:'' status strings.
Note that many Class 2 modems do not support this facility.
- Class2CIGCmd
-
The command used to set a polling identifier.
This string is inserted into the format ``AT+F%s="<id>"''.
- Class2CRCmd
-
The command to use to enable the reception of facsimile.
- Class2CQCmd
-
The command to use to set up parameters for copy quality checking.
For an Everex 24/96D modem this parameter might be set to
``CQ=1\n+FBADMUL=20\n+FBADLIN=10''.
- Class2DCCCmd
-
The command used to set modem capabilities.
This string is inserted into the format
``AT+F%s=vr,br,wd,ln,df,ec,bf,st''.
- Class2DCCQueryCmd
-
The command to send to the modem to get the modem capabilities.
If the parameter begins with a ``!'', then the remainder of the
string is taken to be the capabilities string and no command
is issued to the modem.
- Class2DISCmd
-
The command used to set the current session parameters.
This string is inserted into the format
``AT+F%s=vr,br,wd,ln,df,ec,bf,st''.
- Class2LIDCmd
-
The command used to set the local identifier string.
This string is inserted into the format ``AT+F%s="<id>"''
- Class2NRCmd
-
(Class 2.0 only.)
The command to use to setup status reporting.
For the correct operation of the Class 2.0 driver
this command must enable the reporting of most status strings.
- Class2PHCTOCmd
-
The command to use to set the Phase C timeout parameter (in seconds).
- Class2PIECmd
-
(Class 2.0 only.)
The command to use to control procedure interrupt handling.
Procedure interrupts should be disabled because
FlexFAX
does not provide a mechanism for dispatching procedure interrupts
to an administrator.
- Class2RecvDataTrigger
-
The character to send to the modem to trigger the transmission
of received data from the modem to the host.
This character is specified to be
DC1
(octal 21) in the
draft specification 2388-A and
DC2
(octal 22) in the 2388-B
specification.
Most Class 2 modems accept
DC1
or both
DC1
and
DC2.
Some modems however only accept
DC2.
Note that string parameters may use C-style escape sequences,
so
DC2,
for example, would be specified as ``"\022"''.
- Class2RELCmd
-
The command to use to enable the delivery of byte-aligned
EOL
codes in received facsimile.
If this parameter is defined, then received facsimile data
will be marked to indicate that
EOL
codes are byte-aligned; otherwise they will be marked as
not (necessarily) having byte-aligned codes.
- Class2SPLCmd
-
The command to use to enable a polling request.
- Class2TBCCmd
-
The command to use to enable stream-mode communication between the
host and modem.
- Class2XmitWaitForXON
-
Whether or not to wait for an
XON
character from the modem
before sending facsimile data to the modem for transmission.
Note that the Class 2.0 specification requires
this action while the Class 2 draft specifications that most
Class 2 modems conform to do not.
SEE ALSO
intro(4F),
faxd(1M)
Index
- NAME
-
- DESCRIPTION
-
- SERVER-ORIENTED CONFIGURATION PARAMETERS
-
- MODEM-ORIENTED CONFIGURATION PARAMETERS
-
- T.30 PROTOCOL CONFIGURATION PARAMETERS
-
- CLASS 1 MODEM CONFIGURATION PARAMETERS
-
- CLASS 2 AND 2.0 MODEM CONFIGURATION PARAMETERS
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 10:15:15 GMT, January 04, 2023